package org.littlewings.hazelcast.producer; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.Dependent; import javax.enterprise.inject.Produces; import javax.inject.Inject; import com.hazelcast.config.Config; import com.hazelcast.config.MapConfig; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.core.IMap; @Dependent public class DistributedMapProducer { @Inject private HazelcastInstance hazelcastInstance; @ApplicationScoped @Produces public IMap<String, String> createSimpleDistributedMap() { return hazelcastInstance.getMap("default"); } @ApplicationScoped @Produces IMap<String, Integer> createWithExpiryDistributedMap() { /* Config config = hazelcastInstance.getConfig(); MapConfig mapConfig = new MapConfig("withExpiryMap"); mapConfig.setTimeToLiveSeconds(10); config.addMapConfig(mapConfig); */ return hazelcastInstance.getMap("withExpiryMap"); } @PostConstruct public void configuration() { Config config = hazelcastInstance.getConfig(); MapConfig mapConfig = new MapConfig("withExpiryMap"); mapConfig.setTimeToLiveSeconds(10); config.addMapConfig(mapConfig); } }